\section{预备知识}
本书希望通过设计实现操作系统来更好地理解操作系统原理和概念。设计实现操作系统其实就是设计实现一个可以管理CPU、内存和各种外设，并管理和服务应用软件的系统软件。为此还是需要先了解一些基本的计算机原理和编程的知识。本书的例子和描述需要读者学习过计算机原理课程、程序设计课程，掌握C语言编程（了解指针等的编程）。如需完成基于RISC-V的ucore实验，则对基于RISC-V的体系结构有一定的了解，大致了解RISC-V的汇编语言。
